import plugin from '../../../lib/plugins/plugin.js'
import Yaml from '../Yaml/Yaml.js'
import {segment} from "oicq";

let rootPath = process.cwd()
let pluginPath = rootPath + '/plugins/fisticuffs-plugin/config/'
let appConfigPath = pluginPath + 'application.yaml'

const checkAbsoluteMasterFalse = async function (e, absoluteMaster) {
    if (absoluteMaster === null) {
        let msg = '请先发送【设置绝对权限】再使用功能！'
        if (e.isGroup) {
            e.reply([segment.at(e.user_id), msg])
        } else {
            e.reply(msg)
        }
        return false;
    }
    return true;
}

export class help extends plugin {
    constructor() {
        super({
            /** 功能名称 */
            name: '互殴帮助',
            /** 功能描述 */
            dsc: '互殴使用说明',
            /** https://oicqjs.github.io/oicq/#events */
            event: 'message',
            /** 优先级，数字越小等级越高 */
            priority: 4997,
            rule    : [
                {
                    /** 命令正则匹配 */
                    reg: '^互殴(帮助|菜单|使用说明)$',
                    /** 执行方法 */
                    fnc: 'msg'
                }
            ]
        });
    }

    async msg(e) {

        let appConfig = await Yaml.read(appConfigPath)
        let absoluteMaster = appConfig.absoluteMaster

        if (!await checkAbsoluteMasterFalse(e, absoluteMaster)) {
            return true
        }

        let msg = `欢迎使用【Fisticuffs-Plugin v1.1.0】`
        msg += `\n--------------------------\n【打人仅我可用】\n【打人所有人可用】\n【本群禁用打人】\n【本群启用打人】\n【设置打人bot名字】\n【打他@大黄@喵喵】\n【打我】`
        msg += `\n--------------------------\n【可爱词条列表】\n【正常词条列表】\n【暴躁词条列表】\n【写入可爱词条】\n【写入正常词条】\n【写入暴躁词条】\n【删除可爱词条】\n【删除正常词条】\n【删除暴躁词条】\n【变可爱】\n【变正常】\n【变暴躁】\n【彻底疯狂】\n【低调一点】`
        msg += `\n--------------------------\n【增加主人】支持多项，例如【增加主人@大黄@喵喵】\n【删除主人】支持多项，例如【删除主人@大黄@喵喵】\n【删除所有主人】是指删掉除了绝对权限的所有主人\n【打他】支持多项，例如【打他@大黄@喵喵】\n【删除词条】支持多项，例如【删除词条2-6】是删除第2条到第6条\n【彻底疯狂】bot会无视at无差别攻击\n【低调一点】bot只理会at的消息`
        if (e.isGroup) {
            e.reply([segment.at(e.user_id), `\n${msg}`])
        } else {
            e.reply(msg)
        }
        return false;
    }

}
